This invention related generally to magnetic disc data storage devices and more particularly to an improved method for the accurate generation of a velocity command profile for the positioning of transducer apparatus relative to a storage medium.
A disc drive typically comprises a disc pack consisting of a plurality of magnetic discs each having a multiplicity of concentric recording tracks and being mounted on a drive spindle in stacked slightly spaced relation to one another for common rotation about the spindle. The disc drive further comprises an array of magnetic heads disposed in read/write relation with the discs. In the case of moveable head drives, the heads are mounted on an actuator driven carriage mechanism with at least one head operatively associated with each magnetic surface. In such drives the heads are usually moved substantially radially across the discs to access a desired track on any disc.
Information is stored on a surface of a disc by being recorded thereon in a serial format in concentric rings or tracks known in the art as cylinders. The concentric cylinders are arranged across the surface of a disc with varying radii. The density at which cylinders are placed on a disc vary greatly, from sixty tracks per inch to over one thousand tracks per inch, depending upon the parameters of a particular system.
A transducer, or read and write transducer assembly of a moveable head drive cooperates with a particular concentric track on a rotating disk as long as the head retains a selected position. That position of the head is also defined as a particular radial position of the transducer(s) therein, relative to the disc's axis. For a change of tracks, the head has to be displaced radially to that axis so that the transducer(s) may lock on another track. In order to minimize access time to information on any particular track, the head must be moved as rapidly as possible from its present position to the desired position, for cooperation with the desired track. A rapid action displacement of this kind requires the head to be first accelerated as long as possible, and thereafter to be decelerated and stopped directly on the new position. Moreover, it is desirable to have the displacement control operation merged in a tracking operation that maintains the transducer and the head assembly in the desired position.
All disc memories have or are characterized by the minimum, average and maximum access times. Minimum access time is the time for one track seek. Maximum access time is the time needed for travelling the maximum seek length. Average access time is the average time needed for any seek length and is equal to the total accumulated seek time for a large number of seeks divided by the total number of seeks. For simplicity of discussion here, the disc drive is characterized by a "mean access time" instead. Mean access time is the time required by the heads, which read from or write upon the magnetic disc, to move from an outside track on the disc and gain access to a data item contained on the central track. The time is measured from the moment the heads receive an order from the processing system to seek a data item. The central track of the disc has a serial number equal to the mean of the outside track serial numbers. For example, if there are two hundred recording tracks numbered from 0 to 200, then the central track is track 100.
In practice, the mean access time is determined primarily by two factors. One is the average time taken by the disc to complete one revolution. The second is the average time taken by the magnetic heads to move from the outside track to the central track.
Much development work has occurred directed towards reducing mean access time. It is, of course, possible to reduce the average revolution time of a disc by increasing the velocity of rotation. However, the mechanical stresses exerted on the disc severly limit this approach. Thus, the preferred approach is to reduce the average time necessary to move the magnetic head by improving the head control apparatus.
It is to be understood that the primary concern is to reduce the time required to move the magnetic heads from a starting track to a destination track, regardless of starting or destination track. Thus, reduction of mean access time, i.e., where the starting and destination tracks are an outside track and the central track, respectively, is a special case and only illustrative of the general objective.
A majority of head control apparatus includes a "voice coil" electrodynamic motor. The motor has a coil which moves linearly within a permanent magnet, defining a cylindrical core. The coil is mechanically linked to a carriage which carries the magnetic heads. Preferably, the carriage moves along two parallel rails. The coil, carriage and magnetic heads, in combination, define a moveable head assembly.
The current supplied to the voice coil is controlled for obtaining a desired velocity profile of the moveable head assembly. Acceleration and deceleration phases are controlled based upon distance still to be travelled and in relation to the actual velocity in any instant; the moving assembly stops in the desired position with the required degree of accuracy by operation of a velocity command signal that reduces to zero as the object approaches the desired position.
Any object traverses a particular distance in minimum time if it accelerates continuously up to a peak velocity selected so that the immediately succeeding period of deceleration suffices to reduce the velocity to zero. If acceleration and deceleration rates are equal, acceleration and deceleration phases each cover half of the total travel time and half of the total distance to be traversed. In case the acceleration rate differs from the rate of deceleration, the respective phases must vary in proportion. The peak velocity obtained is proportional to the square root of the distance to be traversed (the peak velocity is equal to the square root of distance to be traversed multiplied by the acceleration/deceleration factor, if the two factors are oppositely equal).
These operating conditions are obtained indirectly by the generation of a deceleration velocity command profile to be equal to the square root of twice the deceleration rate multiplied by the distance remaining from a current position to a desired terminal destination, and along which the object is decelerated, while acceleration (or a constant maximum system velocity) prevails up to a velocity distance point on that deceleration curve. Desired and present position of the object (e.g., transducer head) are represented by digital signals, and the difference represents the distance still to be traversed at any instant. A velocity command signal is derived from that difference, to represent the square root of twice the distance yet to be traversed, multiplied by the acceleration/ deceleration factor. A directional command is formed concurrently in dependence upon the sign of the difference. As long as the actual velocity remains below the declining velocity command profile, there is acceleration or a constant maximum system velocity depending upon parameters unique to each system; as the instantaneous value of the velocity command equals the actual velocity, there is changeover to deceleration.
The changeover occurs normally when the object passes the half way mark; at that point the velocity command signal is actually reduced to represent the square root of acceleration multiplied by the distance remaining to be traversed, which is the peak velocity for minimum travel time across the distance remaining to be traversed. If the actual velocity of the object equals that desired peak velocity, deceleration begins. The changeover from acceleration to deceleration occurs earlier if the object actually reaches a higher velocity, the changeover occurs later and at a lower than the theoretical peak velocity if the object fails to reach that latter velocity at the half way point. In other words, the control operation takes care automatically of any deviation from the ideal case.
In case the distance to be traversed is rather large, it may be advisable, however, as a purely precautionary measure, to limit the maximum peak velocity that can be obtained. Such a precautionary measure would result from practical mechanical considerations unique to a particular system. This would correspondingly limit the velocity command profile accordingly so that a period of constant velocity control is interposed between acceleration and deceleration phases.
The actual progression of the moveable head assembly relative to the disc is metered by clocking the progress in units of the digital representation for the distance to be traversed. The digital representation of distance is, in fact, gradually reduced at the rate of that clock, to represent at all times distance still to be traversed. In particular, the velocity command signal is reduced to zero as the object approaches the desired position. The profile and contour of that command signal as a function of the distance from the destination depends upon the deceleration rate and and is the same for all displacements.
With presently known control apparatus, reduction in transit time is achieved by two-stage movement The first stage is an acceleration stage, during which a positive current is applied to the voice coil of the electric motor. The velocity of the moveable head assembly, as a function of time, is substantially linear and increasing. Velocity as a function of the position occupied by the moveable assembly follow a parabolic curve and also increasing.
During the second stage of movement, or the deceleration stage, an opposite current is applied to the voice coil of the electric motor. Velocity as a function of time and position, in this stage, is decreasing linearly and decreasing along the parabolic curve, respectively. At the end of the second stage, the velocity of the movable head assembly is sufficiently low to stop the heads above the selected disc track.
During the first stage, the control apparatus operates under conditions of freedom, frequently referred to as "open-loop" control. Conversely, second stage operation is controlled and the velocity of the moveable assembly is governed to closely approximate a predefined velocity command profile which represents the velocity of the head carriage assembly under conditions of freedom. This controlled mode of operation is frequently referrered to as "closed-loop" control.
Such a control apparatus is a modified "bang-bang" type. The "bang-bang" nomenclature follows from the procedure of applying a first, constant current to the voice coil of the electric motor for an acceleration phase followed by a second constant current of opposite polarity being applied to the voice coil by the electric motor for the deceleration phase. The first acceleration phase is termed the first bang, while the second deceleration phase is termed the second bang. Known existing modified "bang-bang" control apparatus in disc drives only makes use of the first acceleration bang and relies on "closed-loop" control for deceleration phase.
Known and existing control apparatus include an electric motor, means for producing a signal representative of the actual velocity of the moveable head assembly, means for producing a signal representative of a theoretical reference velocity, means for comparing the actual velocity of the moveable head assembly with the theoretical reference velocity and generating a signal in response thereto representing the difference or error between the actual and the theoretical reference velocities, and power means for amplifying the error signal so produced. The electric motor is driven by the amplified error signal.
More particularly, known modified bang-bang control apparatus includes means for applying constant current to the voice coil of the electric motor during the first stage of movement. This is done in an open-loop mode, as there is an absence of feedback in the control system during this stage. During the second state, the control system operates in a closed loop mode, as the amount of current applied to the voice coil of the motor is determined by comparing the actual velocity of the moveable head assembly with a theoretical reference velocity. The theoretical reference velocity is the velocity at which the moveable head assembly would be moving under free conditions.
In the past, the means for producing the signal representative of the theoretical reference velocity was based upon a technique which employed the use of a diode function generator for the production of the necessary square root relationship. Natually this technique was an inexact one, and suffered from numerous shortcomings, all of which resulted ultimately in the inaccurate positioning of the head carriage assembly.
More recently the operation of the diode function generator has been replaced with an approach employing digital techniques. In these digital approaches the desired mathematical square root relationship between velocity and distance is generated based upon numeric values which have been previously stored in a memory device. Consequently, when the desired square root relationship is necessary, it is generated based upon information previously stored.
While such an approach does offer significant advantages over the use of a diode function generator, particularly in stability and accuracy, such a digital approach still has a number of short comings. One of the major short comings relates to the amount of information which can be reasonably stored in the memory device. In practice this become a limitatio spore upon the accuracy of the square root velocity distance relationship which is generated.
In a control system wherein the velocity of a moveable head assembly is controlled by comparing the instantaneous value of velocity against a theoretical desired value, and correcting the actual velocity based upon the amount of error detected, inaccuracies present in the theoretical desired velocity will directly result in errors in the error signal, and ultimately in the resultant velocity of the moveable head assembly.
Current approaches taken to generate the desired square root velocity distance relationship employ the use of a digital memory element which frequently is a programmable read only memory (PROM). In such an approach, each memory location is uniquely specified by a distance value. The distance value represents the remaining distance from a present location of the moveable head assembly to a desired terminal position. In each uniquely specified memory location the corresponding desired velocity for the moveable head assembly is stored. Consequently the values for velocity stored in the PROM represent a collection of discrete numeric values which approximate a continuous mathematical function, i.e., the square root velocity distance relationship.
In such an approach, the resulting accuracy of the implementation of the square root velocity distance relationship is directly dependent upon the number of discrete values used in the approximation process; the larger the number of values used, the more accurate is the resulting approximation. This has a direct effect on the size or number of memory locations required in the PROM. The greater the accuracy desired in the approximation of the square root velocity distance relationship, the larger the number of discrete velocity values required, and the greater will be the number of memory locations required in the PROM. However, practical considerations require limitations on the number of memory locations available in a PROM.
In the process of approximating a continuous mathematical function of a single independent variable by a collection of discrete numeric values, it will be observed that the smaller the changes in the value of the mathematical function for changes in the independent variable, the fewer the number of discrete numeric values required for approximation of the mathematical function. Conversely, the greater the changes in value for the mathematical function for changes in the independent variable, the greater the number of discrete numeric values required for the approximation of the mathematical function.
In the present application wherein the approximation process is applied to a mathematical function having a square root relationship, the resulting values for velocity for given distances will be parabolic about the distance axis. Due to the nature of the mathematical square root relationship between velocity and distance, changes in velocity values will be greatest for distance values as the corresponding values for velocity approach zero.
In present approaches to the implementation of the square root velocity distance relationship which employ a PROM, practical considerations permit only a portion of the velocity command profile to be approximated by storing the associated values in a PROM. This results in a significant reduction in achievable mean access time.